In the current various data communication networks, the throughput, as an important network performance metric, has become one of test items that the network operators are most concerned. The Internet Engineering Task Force (IETF) which is an organization for standards gave an initial definition of throughput in the standard RFC1242 published in July 1991. That is, the throughput is the maximum forwarding rate that a device can support under the condition of no packet loss. From the initial standardized definition of throughput, the throughput of that time was a concept mainly aiming at single specific network device. But, with extension of the definition of throughput, the throughput involved in the current communication industry can not only aim at single network device, but also at a specific communication link comprising multiple network devices in the communication network. Then the definition of throughput is extended to be the maximum transmission rate that this communication link can support under the condition of no packet loss.
With the rapid development of data network communication in the 1990s, the IETF provided, in the standard RFC1944 published in May 1996, a whole set of basic testing methods of network device, comprising a method for measuring throughput. Thereafter, in May 1999, the IETF obsoleted the standard RFC1944 with a newly published RFC2544 standard. The RFC2544 standard is still in use today. In the RFC2544 standard, the method for measuring throughput is described as that: a measuring instrument is used to send a certain number of test packets to a device under test at a certain transmission rate; if the number of test packets actually forwarded by the device under test is less than that transmitted by measuring instrument, then the measuring instrument sends again at a reduced transmission rate; and this process is repeated, until the maximum transmission rate without packet loss is found; and the maximum transmission rate is the throughput of the device under test.
Based on the basic method for measuring throughput provided in the RFC2544 standard, in practice, the industry usually adopts a binary search algorithm to measure the throughput of the communication device under test or communication link under test. The search principle of the binary search algorithm is described as follows: suppose that the throughput of the communication device under test or communication link under test is A, a manually configured target precision is C, and a manually configured initial rate for sending test traffic is B (it is required that B>A, otherwise the throughput cannot be measured by adopting the binary search algorithm); B is used as the rate to send test traffic in the first measurement iteration, and packet loss occurs, so that B/2 is used as the rate to send test traffic in the second measurement iteration; if packet loss does not occur in the second measurement iteration, it is judged whether the rate used by this measurement iteration meets the requirement of target precision, the judging method is as follows: if the quotient obtained by dividing the difference between the rate used by this measurement iteration and the rate used by the last measurement iteration by the rate used by this measurement iteration (in the example, the quotient is (B−B/2)/(B/2)=1) is no greater than the target precision C, then it is deemed that the rate used in this measurement iteration meets the requirement of target precision; if the quotient is greater than the target precision C, then it is deemed that the rate used by this measurement iteration does not meet the requirement of target precision. If the judgment result is that the rate of the second measurement iteration meets the requirement of target precision, then the measurement of throughput ends, and the rate is the obtained throughput; if the judgment result is that the rate of the second measurement iteration does not meet the requirement of target precision, then the measurement of throughput proceeds, and the third measurement iteration uses (B+B/2)/2 as the rate to send test traffic; if packet loss occurs in the second measurement iteration, then it won't be judged whether the rate used by this measurement iteration meets the requirement of target precision, and the third measurement iteration uses (0+B/2)/2 as the rate to send test traffic; and the process is repeated, until the throughput which meets the requirement of target precision is finally obtained after multiple measurement iterations.
FIG. 1 shows a schematic diagram of using measuring instrument to measure the throughput of a communication link. As shown in FIG. 1, measuring instruments 1 and 2 are connected to the Provider Edges (PE) at two ends of the link under test respectively. The instruments 1 and 2 are cascaded through a special communication link (usually a low-speed link), so that the single control software of the measuring instrument can perform centralized control. There may be one or more Provider Devices (P) between two PEs. Before measuring the throughput, it is required to first configure measurement parameters and target precision, wherein the measurement parameters comprise: initial transmission rate of test traffic, transmission duration, size of test packet, priority of test packet and pattern of test packet. The initial transmission rate is usually configured as the maximum physical bandwidth of the link under test; the transmission duration means the duration for sending test traffic at each measurement iteration; the size and priority of test packet will influence the measurement result of the throughput. Generally speaking, the measurement of throughput is required to cover various typical sizes of test packets and all priorities. Usually, the pattern of test packet can be configured to be pseudo-random code, so as to better simulate real service traffic.
After starting the measurement of throughput, the control software of measuring instrument controls sending of test traffic according to the configured measurement parameters, and monitors reception of test traffic. After the completion of each measurement iteration, the control software of measuring instrument calculates the packet loss rate and calculates the transmission rate that will be used by the next measurement iteration according to the binary search algorithm. After that, the next measurement iteration is started until the throughput which meets the requirement of the specified target precision is found.
At present, a technology called Multi-Protocol Label Switching-Transport Profile (MPLS-TP), which is being researched by the two standards organizations IETF and International Telecommunication Union (ITU) cooperatively, is expected to enhance the Operation, Administration and Maintenance (OAM) capability of the traditional Multi-Protocol Label Switching (MPLS) technology. The technology defines a series of OAM functional entities, and makes a series of OAM function requirements based on these functional entities. One of the OAM functions is called the diagnostic test function, and the measurement of throughput is the most important one of the diagnostic test function requirements. At present, no technical solution meeting the function requirement has been disclosed.
FIG. 2 shows a schematic diagram of OAM functional entities in the MPLS-TP network. As shown in FIG. 2, one or more MEPs can be created based on port on the PE at the edge of the MPLS-TP network, and one or more Maintenance Intermediate Points (MIP) can be created based on port on the P in middle of the MPLS-TP network. It is clearly required in the OAM function requirements of the MPLS-TP that the measurement of throughput can be performed between MEP and MEP, and the MEPs at two ends can be at a Pseudowire (PW) layer, a Label Switched Path (LSP) layer or a section layer.
The reason that the standards organizations make throughput measuring function requirements based on MEP for the MPLS-TP network is that if measuring instrument is used to measure the throughput of the communication link, it requires measuring instruments and operators allocated at two ends of the link at the same time, and requires cascade of measuring instruments through special communication link, which causes very high measurement costs. In practical measurement, it also needs personals to manually connect transmitting/receiving port of the measuring instrument to port of the communication link under test. This is laborious and time-consuming, error connection may be caused, and the operation and maintenance is complex.